home *** CD-ROM | disk | FTP | other *** search
- ========================================================================
- == ME2 Errata and machine/OS specifics Craig Durland ==
- ========================================================================
-
- ========================================================================
- BUGS
- ========================================================================
- * MS-DOS
- If you install TSRs (terminate and stay resident - things like Side
- Kick) from within ME (ie ^X! or from a shell invoked by ME) and
- don't exit ME, there is a good chance that sometime later ME will
- not be able to write out files (it will say something like "Error
- closing file"). If this happens, you are screwed - your file is
- cleared from the disk and there is no way you can save it.
- Another symptom is problems allocating memory ("Cannot allocate x
- bytes"). print.com is the only TSR I have verified causing these
- problems but don't press your luck.
- Note: is OK to use TSRs from within ME. ie using print.com to
- print a file while in ME is OK as long as print was installed
- outside of ME.
- EGA 43 line mode: If you are using nansi.sys, switching into 43 line
- mode and then invoking a shell or running a program (^X!) the cursor
- may disappear. This is caused by a bug in nansi.sys. When going
- into 43 line mode it should set 40:87H bit 0 and clear that bit when
- returning to 25 line mode but it don't.
- * UNIX
- XON/XOFF can screw things up. ME turns off XON/XOFF because XON is
- ^S and XOFF is ^Q and most Emacs users are very attached to those
- keys. This can lead to terminal overruns if the terminal cannot
- keep up at the baud rate selected or there is not enough padding.
- Sometimes the connection to the computer runs though a server
- device that also talks XON/XOFF. If this is the case ^S will stop
- the display and some times ME will start searching for no apparent
- reason. Talk to a guru and find out how to fix the server or
- rebind ^S and ^Q to "" and use the alternate keys (^\ and ^^).
- Softkeys: Most terminals send escape codes when you press a function
- key or softkey. This is a problem when the codes overlap valid ME
- user key sequences (eg HP terminals send "ESC B" for down arrow which
- is also the ME sequence for (backward-word)). The version of ME for
- HP terminals (MEH), trys to tell the difference with timing, however,
- this method if far from foolproof. To tell if you have a problem,
- type ^X^V (visit-file) and then press a function key (such as down
- arrow) rapidly. You should see
- F-DF-DF-DF-DF-DF-DF-DF-DF-DF-DF-DF-DF-D. If you don't or see
- something like F-DM-BM-BF-DF-DM-B you have a problem and you have to
- either give up softkeys or the mappings they cover. Or get a
- "better" terminal. Regular ME leaves soft key processing to Mutt
- pgms (see vt100.mut for an example).
-
- =========================================================================
- MS-DOS specifics
- =========================================================================
- * Filenames can contain "/" or "\". Case is ignored.
- * Filename completion may be turned off. If not, you can use csh like
- wild cards. See UNIX specifics.
- * Strango characters
- MS-DOS ME allows you to enter ^Z or NULL (0) and write out the file but
- a line with NULL in it gets truncated (at the NULL) when read in.
- Some versions allow you to enter a character by typing in its decimal
- value (eg "A" is decimal 65) (see below). Note that entering most
- keys is like pressing the key on the keyboard so you may want to
- quote (^Q) the character.
- IBM PC: hold down ALT and type the value on the number pad. The
- character is added when the ALT key is lifted.
- Portable Plus: Put into Num pad mode (Extend Num), hold down Extend and
- press the value on the number pad (the blue numbers). The character
- is added when the ALT key is lifted. Now switch back to regular mode
- (Extend Num). This is easier to do than to say.
- * Portable Plus version:
- The Clr dsp, +Line and -Line function key are not mapped.
- * HP150 version:
- The function keys (f1...f8) don't work unless the user keys are turned
- on AND f1 is programmed to send Normal ESCp, f2 Normal ESCq, ... f8
- Normal ESCw. This is because of a bug in the 150.
- This can be done with:
- (puts "^[&f0a1k5d2L f1^[p") (puts "^[&f0a2k5d2L f2^[q")
- (puts "^[&f3k0a5d2L f3^[r") (puts "^[&f4k0a5d2L f4^[s")
- (puts "^[&f5k0a5d2L f5^[t") (puts "^[&f6k0a5d2L f6^[u")
- (puts "^[&f7k0a5d2L f7^[v") (puts "^[&f8k0a5d2L f8^[w")
- (puts "^[&jB")
-
- ========================================================================
- UNIX specifics
- ========================================================================
- * You can use csh style wildcards: ~, [], [^], ?, * (eg ~craig,
- ~/tools, foo[123], foo*, etc) for (insert-file), (read-file),
- (rename-buffer), (visit-file), (write-file) and current-directory.
- Note that ? and " " are also used for filename completion so you
- might want to quote them (^Q?).
- See dir.mut for examples of cwd, dirs, push directory, pop directory.
-
- * If you want to input 8 bit text (eg edit European languages) make sure:
- - Your terminal will pass 8 bit data. You can check this by using
- "stty -a". Look for "-istrip" (don't set the 8th bit to zero) and
- "cs8" (pass 8 bit data, probably only effects terminals connected to
- serial ports). To set these, use "stty -istrip cs8".
- - Your keyboard can generate characters with the 8th bit set.
- - Your terminal font character set has the right characters above 127.
- Here is a Mutt program that will put all 255 characters into the
- current buffer. You can use it to look at your font.
- (include me2.h)
- (include mod.mut)
-
- (defun
- all-the-ASCII-characters
- {
- (int j)
-
- (for (j 1) (< j 256) (+= j 1)
- {
- (insert-text (convert-to CHARACTER j))
- (if (== 0 (mod j 32)) (newline))
- })
- })
-
- * Function keys, arrow keys, other termainal specific things. I don't
- try to parse keys other than the ASCII character set. Trying to use
- the termcap entries for special keys (function, arrow, etc) has been a
- real pain (especially on HP terminals) and I can never figure out
- everything for all termainals. So I don't bother. What I do do is
- parse some of them in Mutt. xterm.mut parses vt100 and xterms,
- hpterm.mut does HP terminal function keys.
-
- ========================================================================
- Color, inverse video, fonts, etc
- ========================================================================
- * This is very machine dependent. See modeline-color, text-color in
- MEMUTT.DOC.
- IBM PC fast video (CGA, EGA):
- bit7-> |blink|R|G|B| |intensity|R|G|B| <-bit 0 (foreground)
- where R=red, G=green, B=blue, blink makes the character blink and
- intensity only affects the foreground color.
- For example:
- green foreground, blue background: |0|0|0|1| |0|0|1|0| ==0x12 ==18
- monochrome inverse video: |0|1|1|0| |1|1|0|1| ==0x6D ==109
- Portable Plus:
- bit7-> |0|0|f1|f2| |0|underline|inverse video|blinking|
- where f1f2 are the font selector: 00 for normal font, 01 for stick
- For example: inverse video stick font: |0|0|0|1| |0|0|1|0| ==0x12 ==18
- HP150, UNIX:
- 0: normal, 1: half bright inverse video.
- Note: If the color is set to something outside this range, you get
- normal color for everything and slightly faster screen updates -
- ie the color stuff is ignored. Do this if the color is screwing
- up your screen.
- ANSI mode: This has been tested only on IBM PC like things.
- The format is xxyy. xx is one color and yy is the other. These
- numbers come from the ansi spec for the ansi set graphics
- rendition (SGR) escape sequence.
- For example: if 32 is green foreground, 41 red background and 44 is
- blue background, then (text-color 3241)(modeline-color 4432) sets
- green text on a red background with the modeline green text on a
- blue background.
- * Screen size:
- Sometimes the same code runs on machines with different screen sizes.
- If this is your case, you'll need to resize the screen.
- For example:
- HP110: use me150.exe and put (screen-length 16) in your myme file.
- EGA 43 line mode: If you have a IBM PC, EGA and NANSI.SYS (or some
- other way to get into 43 line mode), ME can use all 43 lines.
- If you are already in 43 line mode: (screen-length 43).
- To switch into 43 line mode: (puts "^[[=43h")(screen-length 43)
- 2 handy pgms:
- (defun
- EGA {(puts "^[[=43h")(screen-length 43)}
- noEGA {(puts "^[[=3h")(screen-length 25)}
- )
-
- ========================================================================
- Philosophy
- ========================================================================
- * ME should behave the same on every machine it runs on.
- * ME is an editing engine.
- The core functionality should allow ME to be used stand alone. The
- core has been patterned after (a subset of) Emacs (where Emacs is
- usually Unipress (Goslings') Emacs or GNU Emacs).
- The bells, whistles and features that "personalize" an editor are
- Mutt extensions added by the user.
-
- * If you find bugs I want to fix them so let me know.
- If you have enhancement requests or stuff you would like to see added,
- I am interested.
-
- Restrictions:
- Distributed under the terms of the GNU General Public License.
-
- * No Warranty - you get what you pay for.
-
- * I am:
- Craig Durland (503) 750-3354
- 3419 SW Knollbrook, Corvallis, OR 97333
- craig@cv.hp.com
-